#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <unistd.h>
#include <signal.h>

void signal_process(int signum){
    printf("----收到子进程的信号SIGUSR1---\n");
}

int main(int argc, char const *argv[])
{
    if(fork() == 0){
        for(int i=0;i<5;i++){
            sleep(1);
            // 向父进程发送信号
            kill(getppid(), SIGUSR1);
        }
        _exit(0);
    }

    // 声明SIGUSR1信号的处理函数
    signal(SIGUSR1,  signal_process);
    wait(NULL);// 等待子进程结束
    printf("---over---\n");

    return 0;
}
